High Performance Fortran
نویسنده
چکیده
A basic problem in programming for parallel architectures is that each machine has its own design, and also its own specific software for accessing its hardware features. In 1992, as a response to this situation, the High Performance Fortran Forum (HPFF) was founded, under the guidance of Professor Ken Kennedy, to produce a portable Fortran-based interface to parallel machines for the solution of data-parallel problems, mainly involving regular grids. Over 40 organizations participated, and the work used existing dialects, such as Fortran D (Rice University), Vienna Fortran and CM Fortran (Thinking Machines), as inspiration. It was realised early on that much of the desired functionality already existed in the, then, very new Fortran 90 (see [1]), and this was selected as the base language on which to build HPF itself. The array processing features of Fortran 90 are particularly relevant. This enabled the goal of producing an ad hoc standard for HPF within a year to be met, and full details can be found in [2]. The standard document itself is obtainable by anonymous ftp at titan.cs.rice.edu in the directory public/HPFF/draft as the file hpf-v10-final.ps.Z. At the time of writing, HPFF has reconvened to produce a second, more advanced, version – HPF II. One new feature is expected to be an extension for irregular grids. The basic approach adopted was that of designing a set of directives that may be added to Fortran 90 programs, together with a few syntactical additions and some extra libraries, thus creating a data parallel programming language that is independent of the details of the architecture of the parallel computer it is run on. The principle is to arrange for locality of reference of the data by aligning related data sets to one another, and distributing the aligned sets over memory regions such that, usually, calculations on a given processor are performed between operands already on that processor. Any message passing that might nevertheless be necessary to communicate data between processors is handled by the compiler and run-time system.
منابع مشابه
High Performance Fortran
High Performance Fortran is an informal standard for extensions to Fortran 90 to assist its implementation on parallel architectures, particularly for data-parallel computation. Among other things, it includes directives for expressing data distribution across multiple memories, and concurrent execution features. This paper provides an informal introduction to the main features of HPF.
متن کاملTranstool: a Restructuring Tool for the Parallelization of Applications Using High Performance Fortran
In this paper, we present the TransTool project, whose aim is to design a restructuring tool for the transformation of Fortran 77 programs into High Performance Fortran (HPF). TransTool includes an editor, a parser, a dependence analysis tool and an optimization kernel. Moreover, we provide the users with a clean open interface, so that developers of tools around HPF can easily integrate their ...
متن کاملChanging the Face of High-Performance Fortran Code
There is a huge amount of Fortran code that is too valuable to throw away, but very expensive to maintain. Refactoring tools have had a great impact on the productivity of object-oriented developers and the quality of code. However, highperformance languages such as C and Fortran do not have these tools. Moreover, refactorings specific to high-performance and parallel computing have not yet bee...
متن کاملCode generation in bouclettes
Bouclettes is a source to source loop nest parallelizer. It takes as an input Fortran uniform, perfectly nested loops and gives as an output an equivalent High Performance Fortran program with data distribution directives and parallel ($HPF! INDEPENDENT) loops. This paper explains how the HPF program is built from a “shifted linear schedule” and a data allocation. We focus on the problems we ha...
متن کاملInterpreting the Performance of HPF / Fortran 90
In this paper we present a novel interpretive approach for accurate and cost-eeective performance prediction in a high performance computing environment , and describe the design of a source-driven HPF/Fortran 90D performance prediction framework based on this approach. The performance prediction framework has been implemented as part of a HPF/Fortran 90D application development environment. A ...
متن کاملComparison of Diierent Computer Platforms for Running the Versatile Advection Code Comparison of Diierent Computer Platforms for Running the Versatile Advection Code
The Versatile Advection Code is a general tool for solving hydrodynamical and magnetohydrodynamical problems arising in astrophysics. We compare the performance of the code on diierent computer platforms, including work stations and vector and parallel supercom-puters. Good parallel scaling can be achieved with the data parallelism expressed in High Performance Fortran. With the aid of the auto...
متن کامل